using System;
using System.Xml.Serialization;

namespace Aop.Api.Domain
{
    /// <summary>
    /// PropertyValue Data Structure.
    /// </summary>
    [Serializable]
    public class PropertyValue : AopObject
    {
        /// <summary>
        /// 属性值的名称
        /// </summary>
        [XmlElement("name")]
        public string Name { get; set; }

        /// <summary>
        /// 该属性的价格，单位元，如果是一维价格直接使用字符串，比如：“30.5”，如果是多维，比如同一个属性不同地区价格不同的情况，比如  {    “-1”: “30”, //表示默认价   “杭州code”：“50”，   “北京code”: “60”  }
        /// </summary>
        [XmlElement("price")]
        public string Price { get; set; }

        /// <summary>
        /// 价格维度类型，可选值[string,json]，不填默认string，表示price的类型为是一维价格，如果是json默认是多维价格
        /// </summary>
        [XmlElement("price_dim_type")]
        public string PriceDimType { get; set; }

        /// <summary>
        /// 可以用数量具象时需要填写，比如日常保洁中，服务时长属性中包括：2小时、3小时，那么需要使用quantity来表示2、3这些数字，小时使用unit的PER_HOUR
        /// </summary>
        [XmlElement("quantity")]
        public long Quantity { get; set; }

        /// <summary>
        /// 级联的子属性index值
        /// </summary>
        [XmlElement("sub_prop_index")]
        public long SubPropIndex { get; set; }

        /// <summary>
        /// 服务库存单位，包括：PER_TIME（每次）、PER_GE（每个）、PER_FU（每幅）、PER_PIECE（每份）、PER_DAN（每单）、PER_HOUR（每小时)
        /// </summary>
        [XmlElement("unit")]
        public string Unit { get; set; }
    }
}
